# 设置随机种子以确保结果可复现
set.seed(123)

# 假设我们有100个观测值（城市）和10年的时间跨度
n <- 100
T <- 10

# 创建时间序列索引
time <- rep(1:T, each = n)
city <- rep(1:n, T)

# 生成模拟数据
data <- data.frame(
  city = city,
  time = time,
  capital_return = rnorm(n * T, mean = 10, sd = 5),  # 资本回报率
  debt_lag = rnorm(n * T, mean = 1, sd = 0.5),       # 上一年的地方公共债务
  X1 = rnorm(n * T, mean = 10, sd = 2),              # 控制变量1（例如人均GDP）
  X2 = rnorm(n * T, mean = 5, sd = 1),               # 控制变量2（例如人均固定资产投资）
  X3 = rnorm(n * T, mean = 2, sd = 0.5)              # 控制变量3（例如人均FDI）
)

# 添加城市和时间固定效应
data$city_effect <- rep(1:n, T)
data$time_effect <- rep(1:T, each = n)

# 构建模型
model <- felm(capital_return ~ debt_lag + X1 + X2 + X3 | city_effect + time_effect, data = data)

# 输出回归结果
summary(model)

model_1 <- felm(capital_return ~ debt_lag + X1 + X2 + X3 | city + time, data = data)

summary(model_1)
